package com.yike.user.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 代理商表
 *
 * @author Sakura
 * @since 2024-08-26
 */
@Data
@Accessors(chain = true)
@ApiModel(value = "平台代理商信息")
public class PlatformAgentVo implements Serializable {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty("ID")
    private Long id;

    @ApiModelProperty("代理商编号")
    private String agentNo;

    @ApiModelProperty("上级代理商ID")
    private Long parentId;

    @ApiModelProperty("上级代理商名称")
    private String parentName;

    @ApiModelProperty("上级代理商编号")
    private String parentNo;

    @ApiModelProperty("代理商名称")
    private String name;

    @ApiModelProperty("店铺照片")
    private String corpImg;

    @ApiModelProperty("公司名称")
    private String corpName;

    @ApiModelProperty(value = "联系人", required = true)
    private String contact;

    @ApiModelProperty(value = "联系电话", required = true)
    private String mobile;

    @ApiModelProperty("生日")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date birthday;

    @ApiModelProperty("生肖")
    private String zodiac;

    @ApiModelProperty("省code")
    private String provCode;

    @ApiModelProperty("省名称")
    private String provName;

    @ApiModelProperty("市code")
    private String cityCode;

    @ApiModelProperty("市名称")
    private String cityName;

    @ApiModelProperty("区code")
    private String distCode;

    @ApiModelProperty("区名称")
    private String distName;

    @ApiModelProperty("详细地址")
    private String address;

    @ApiModelProperty("分佣比例（1-100）")
    private BigDecimal commissionRate;

    @ApiModelProperty("状态：1正常 2禁用")
    private Integer status;

    @ApiModelProperty("下级代理商数量")
    private Integer subAgentNumber;

    @ApiModelProperty("商店铺数量(包含下级店铺)")
    private Integer shopNumber;

}
